function outputNum(){
    const arr = [1,2,3]
    // arr.reduce((p,x)=>{

    // })
    arr.forEach((n,x)=>{
        console.log(p)
        var p = new Promise(function(resolve,reject){
            setTimeout(()=>{console.log(n)},1000)
            resolve(n)
        }) 
    })
    return p
   
    //     return p.then(()=>{
    //         r =>{
    //             setTimeout(()=>r(console.log(x)),1000)
    //         }
    //     })
    // },Promise.resolve())
    // return arr
}
outputNum().then((n)=>{
    console.log(n)
})



// console.log(arr)

// const arr = [1,2,3]
// arr.reduce((p,x)=>p.thrn(()=>new Promise(r => setTimeout(()=> r(console.log(x)),1000))),Promise.resolve())